{
 "cells": [
  {
   "cell_type": "code",
   "id": "f642fe0c",
   "metadata": {
    "ExecuteTime": {
     "end_time": "2025-09-01T09:12:56.515206Z",
     "start_time": "2025-09-01T09:12:56.464567Z"
    }
   },
   "source": [
    "import gym\n",
    "from matplotlib import pyplot as plt\n",
    "%matplotlib inline\n",
    "\n",
    "#创建环境\n",
    "#is_slippery控制会不会滑\n",
    "#map_name决定地图的尺寸,还可以取8x8\n",
    "#desc决定地形\n",
    "env = gym.make('FrozenLake-v1',\n",
    "               render_mode='rgb_array',\n",
    "               is_slippery=False,\n",
    "               map_name='4x4',\n",
    "               desc=['SFFF', 'FHFH', 'FFFH', 'HFFG'])\n",
    "env.reset()\n",
    "\n",
    "#解封装才能访问状态转移矩阵P\n",
    "env = env.unwrapped\n",
    "\n",
    "\n",
    "#打印游戏\n",
    "def show():\n",
    "    plt.imshow(env.render())\n",
    "    plt.show()\n",
    "\n",
    "\n",
    "show()"
   ],
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ],
      "image/png": "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"
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "execution_count": 40
  },
  {
   "cell_type": "code",
   "id": "531b5960",
   "metadata": {
    "ExecuteTime": {
     "end_time": "2025-09-01T09:06:38.471851Z",
     "start_time": "2025-09-01T09:06:38.469503Z"
    }
   },
   "source": [
    "#查看冰湖这个游戏的状态列表\n",
    "#一共4*4=16个状态\n",
    "#每个状态下都可以执行4个动作\n",
    "#每个动作执行完，都有概率得到3个结果\n",
    "#(0.3333333333333333, 0, 0.0, False)这个数据结构表示(概率，下个状态，奖励，是否结束)\n",
    "len(env.P), env.P[0]"
   ],
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(16,\n",
       " {0: [(1.0, 0, 0.0, False)],\n",
       "  1: [(1.0, 4, 0.0, False)],\n",
       "  2: [(1.0, 1, 0.0, False)],\n",
       "  3: [(1.0, 0, 0.0, False)]})"
      ]
     },
     "execution_count": 14,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "execution_count": 14
  },
  {
   "cell_type": "code",
   "id": "058bce5a",
   "metadata": {
    "ExecuteTime": {
     "end_time": "2025-09-01T09:06:38.484923Z",
     "start_time": "2025-09-01T09:06:38.482346Z"
    }
   },
   "source": [
    "import numpy as np\n",
    "\n",
    "#初始化每个格子的价值\n",
    "values = np.zeros(16)\n",
    "\n",
    "#初始化每个格子下采用动作的概率\n",
    "pi = np.ones([16, 4]) * 0.25\n",
    "\n",
    "#两个算法都是可以的\n",
    "algorithm = '策略迭代'\n",
    "algorithm = '价值迭代'\n",
    "\n",
    "values, pi"
   ],
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(array([0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.]),\n",
       " array([[0.25, 0.25, 0.25, 0.25],\n",
       "        [0.25, 0.25, 0.25, 0.25],\n",
       "        [0.25, 0.25, 0.25, 0.25],\n",
       "        [0.25, 0.25, 0.25, 0.25],\n",
       "        [0.25, 0.25, 0.25, 0.25],\n",
       "        [0.25, 0.25, 0.25, 0.25],\n",
       "        [0.25, 0.25, 0.25, 0.25],\n",
       "        [0.25, 0.25, 0.25, 0.25],\n",
       "        [0.25, 0.25, 0.25, 0.25],\n",
       "        [0.25, 0.25, 0.25, 0.25],\n",
       "        [0.25, 0.25, 0.25, 0.25],\n",
       "        [0.25, 0.25, 0.25, 0.25],\n",
       "        [0.25, 0.25, 0.25, 0.25],\n",
       "        [0.25, 0.25, 0.25, 0.25],\n",
       "        [0.25, 0.25, 0.25, 0.25],\n",
       "        [0.25, 0.25, 0.25, 0.25]]))"
      ]
     },
     "execution_count": 15,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "execution_count": 15
  },
  {
   "cell_type": "code",
   "id": "c44b69b0",
   "metadata": {
    "scrolled": false,
    "ExecuteTime": {
     "end_time": "2025-09-01T09:06:38.500802Z",
     "start_time": "2025-09-01T09:06:38.498363Z"
    }
   },
   "source": [
    "#计算qsa\n",
    "def get_qsa(state, action):\n",
    "    value = 0.0\n",
    "\n",
    "    #每个动作都会有三个不同的结果，这里要按概率把他们加权求和\n",
    "    for prop, next_state, reward, over in env.P[state][action]:\n",
    "\n",
    "        #计算下个状态的分数,取values当中记录的分数,再打个折扣\n",
    "        next_value = values[next_state] * 0.9\n",
    "\n",
    "        #如果下个状态是终点或者陷阱，则下个状态的分数是0\n",
    "        if over:\n",
    "            next_value = 0\n",
    "\n",
    "        #动作的分数就是reward,和下个状态的分数相加就是最终的分数了\n",
    "        next_value += reward\n",
    "\n",
    "        #因为下个状态是概率出现了,所以这里要乘以概率\n",
    "        next_value *= prop\n",
    "\n",
    "        value += next_value\n",
    "\n",
    "    return value\n",
    "\n",
    "\n",
    "get_qsa(0, 0)"
   ],
   "outputs": [
    {
     "data": {
      "text/plain": [
       "np.float64(0.0)"
      ]
     },
     "execution_count": 16,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "execution_count": 16
  },
  {
   "cell_type": "code",
   "id": "5771662c",
   "metadata": {
    "ExecuteTime": {
     "end_time": "2025-09-01T09:06:38.525284Z",
     "start_time": "2025-09-01T09:06:38.522166Z"
    }
   },
   "source": [
    "#策略评估\n",
    "def get_values():\n",
    "    #初始化一个新的values,重新评估所有格子的分数\n",
    "    new_values = np.zeros([16])\n",
    "\n",
    "    #遍历所有格子\n",
    "    for state in range(16):\n",
    "\n",
    "        #计算当前格子4个动作分别的分数\n",
    "        action_value = np.zeros(4)\n",
    "\n",
    "        #遍历所有动作\n",
    "        for action in range(4):\n",
    "            action_value[action] = get_qsa(state, action)\n",
    "\n",
    "        if algorithm == '策略迭代':\n",
    "            #每个动作的分数和它的概率相乘\n",
    "            action_value *= pi[state]\n",
    "            #最后这个格子的分数,等于该格子下所有动作的分数求和\n",
    "            new_values[state] = action_value.sum()\n",
    "\n",
    "        if algorithm == '价值迭代':\n",
    "            #求每一个格子的分数，等于该格子下所有动作的最大分数\n",
    "            new_values[state] = action_value.max()\n",
    "\n",
    "    return new_values\n",
    "\n",
    "\n",
    "get_values()"
   ],
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 1., 0.])"
      ]
     },
     "execution_count": 17,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "execution_count": 17
  },
  {
   "cell_type": "code",
   "id": "cc461f0b",
   "metadata": {
    "scrolled": false,
    "ExecuteTime": {
     "end_time": "2025-09-01T09:06:38.542039Z",
     "start_time": "2025-09-01T09:06:38.538494Z"
    }
   },
   "source": [
    "#策略提升\n",
    "def get_pi():\n",
    "    #重新初始化每个格子下采用动作的概率,重新评估\n",
    "    new_pi = np.zeros([16, 4])\n",
    "\n",
    "    #遍历所有格子\n",
    "    for state in range(16):\n",
    "\n",
    "        #计算当前格子4个动作分别的分数\n",
    "        action_value = np.zeros(4)\n",
    "\n",
    "        #遍历所有动作\n",
    "        for action in range(4):\n",
    "            action_value[action] = get_qsa(state, action)\n",
    "\n",
    "        #计算当前state下，达到最大分数的动作有几个\n",
    "        count = (action_value == action_value.max()).sum()\n",
    "\n",
    "        #让这些动作均分概率\n",
    "        for action in range(4):\n",
    "            if action_value[action] == action_value.max():\n",
    "                new_pi[state, action] = 1 / count\n",
    "            else:\n",
    "                new_pi[state, action] = 0\n",
    "\n",
    "    return new_pi\n",
    "\n",
    "\n",
    "get_pi()"
   ],
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([[0.25, 0.25, 0.25, 0.25],\n",
       "       [0.25, 0.25, 0.25, 0.25],\n",
       "       [0.25, 0.25, 0.25, 0.25],\n",
       "       [0.25, 0.25, 0.25, 0.25],\n",
       "       [0.25, 0.25, 0.25, 0.25],\n",
       "       [0.25, 0.25, 0.25, 0.25],\n",
       "       [0.25, 0.25, 0.25, 0.25],\n",
       "       [0.25, 0.25, 0.25, 0.25],\n",
       "       [0.25, 0.25, 0.25, 0.25],\n",
       "       [0.25, 0.25, 0.25, 0.25],\n",
       "       [0.25, 0.25, 0.25, 0.25],\n",
       "       [0.25, 0.25, 0.25, 0.25],\n",
       "       [0.25, 0.25, 0.25, 0.25],\n",
       "       [0.25, 0.25, 0.25, 0.25],\n",
       "       [0.  , 0.  , 1.  , 0.  ],\n",
       "       [0.25, 0.25, 0.25, 0.25]])"
      ]
     },
     "execution_count": 18,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "execution_count": 18
  },
  {
   "cell_type": "code",
   "id": "11087d04",
   "metadata": {
    "scrolled": false,
    "ExecuteTime": {
     "end_time": "2025-09-01T09:09:12.373598Z",
     "start_time": "2025-09-01T09:09:12.334201Z"
    }
   },
   "source": [
    "#循环迭代策略评估和策略提升，寻找最优解\n",
    "for _ in range(10):\n",
    "    for _ in range(100):\n",
    "        values = get_values()\n",
    "    pi = get_pi()\n",
    "\n",
    "values, pi"
   ],
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(array([0.59049, 0.6561 , 0.729  , 0.6561 , 0.6561 , 0.     , 0.81   ,\n",
       "        0.     , 0.729  , 0.81   , 0.9    , 0.     , 0.     , 0.9    ,\n",
       "        1.     , 0.     ]),\n",
       " array([[0.  , 0.5 , 0.5 , 0.  ],\n",
       "        [0.  , 0.  , 1.  , 0.  ],\n",
       "        [0.  , 1.  , 0.  , 0.  ],\n",
       "        [1.  , 0.  , 0.  , 0.  ],\n",
       "        [0.  , 1.  , 0.  , 0.  ],\n",
       "        [0.25, 0.25, 0.25, 0.25],\n",
       "        [0.  , 1.  , 0.  , 0.  ],\n",
       "        [0.25, 0.25, 0.25, 0.25],\n",
       "        [0.  , 0.  , 1.  , 0.  ],\n",
       "        [0.  , 0.5 , 0.5 , 0.  ],\n",
       "        [0.  , 1.  , 0.  , 0.  ],\n",
       "        [0.25, 0.25, 0.25, 0.25],\n",
       "        [0.25, 0.25, 0.25, 0.25],\n",
       "        [0.  , 0.  , 1.  , 0.  ],\n",
       "        [0.  , 0.  , 1.  , 0.  ],\n",
       "        [0.25, 0.25, 0.25, 0.25]]))"
      ]
     },
     "execution_count": 28,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "execution_count": 28
  },
  {
   "cell_type": "code",
   "id": "dc11cfbc",
   "metadata": {
    "ExecuteTime": {
     "end_time": "2025-09-01T09:09:34.755414Z",
     "start_time": "2025-09-01T09:09:34.751117Z"
    }
   },
   "source": [
    "#打印每个格子的策略\n",
    "def print_pi():\n",
    "    #遍历所有格子\n",
    "    for row in range(4):\n",
    "\n",
    "        line = ''\n",
    "\n",
    "        for col in range(4):\n",
    "            state = row * 4 + col\n",
    "\n",
    "            if (row == 1 and col == 1) or (row == 1 and col == 3) or (\n",
    "                    row == 2 and col == 3) or (row == 3 and col == 0):\n",
    "                line += '○'\n",
    "                continue\n",
    "\n",
    "            if row == 3 and col == 3:\n",
    "                line += '❤'\n",
    "                continue\n",
    "\n",
    "            #line += '□'\n",
    "            line += '←↓→↑'[pi[state].argmax()]\n",
    "\n",
    "        print(line)\n",
    "\n",
    "\n",
    "print_pi()"
   ],
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "↓→↓←\n",
      "↓○↓○\n",
      "→↓↓○\n",
      "○→→❤\n"
     ]
    }
   ],
   "execution_count": 30
  },
  {
   "cell_type": "code",
   "id": "1ca81bb2",
   "metadata": {},
   "source": [
    "from IPython import display\n",
    "import time\n",
    "\n",
    "\n",
    "def play():\n",
    "    env.reset()\n",
    "\n",
    "    #起点在0\n",
    "    index = 0\n",
    "\n",
    "    #最多玩N步\n",
    "    for i in range(200):\n",
    "        #选择一个动作\n",
    "        action = np.random.choice(np.arange(4), size=1, p=pi[index])[0]\n",
    "\n",
    "        #执行动作\n",
    "        index, reward, terminated, truncated, _ = env.step(action)\n",
    "\n",
    "        #打印动画\n",
    "        show()\n",
    "        display.clear_output(wait=True)\n",
    "        time.sleep(0.5)\n",
    "        plt.imshow(env.render())\n",
    "        plt.show()\n",
    "\n",
    "\n",
    "\n",
    "\n",
    "        #获取当前状态，如果状态是终点或者掉陷阱则终止\n",
    "        if terminated or truncated:\n",
    "            break\n",
    "\n",
    "    print(i)\n",
    "\n",
    "\n",
    "play()"
   ],
   "execution_count": 55,
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "5\n"
     ]
    }
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python [conda env:pt39]",
   "language": "python",
   "name": "conda-env-pt39-py"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.9.13"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}
